package cn.kgc.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * @author YC
 * 返回给前端的用户信息类（前端需要的信息）
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UsersVO {

    /**
     * 登录令牌
     */
    private String token;

    /**
     * 主键-用户Id
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 手机号
     */
    @TableField(value = "mobile")
    private String mobile;

    /**
     * 昵称
     */
    @TableField(value = "nickname")
    private String nickname;

    /**
     * 真实姓名
     */
    @TableField(value = "real_name")
    private String realName;

    /**
     * 对外展示名，1：真实姓名，2：昵称
     */
    @TableField(value = "show_which_name")
    private Integer showWhichName;

    /**
     * 性别，1:男 0:女 2:保密
     */
    @TableField(value = "sex")
    private Integer sex;

    /**
     * 用户头像
     */
    @TableField(value = "face")
    private String face;

    /**
     * 邮箱
     */
    @TableField(value = "email")
    private String email;

    /**
     * 生日
     */
    @TableField(value = "birthday")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date birthday;

    /**
     * 国家
     */
    @TableField(value = "country")
    private String country;

    /**
     * 省份
     */
    @TableField(value = "province")
    private String province;

    /**
     * 城市
     */
    @TableField(value = "city")
    private String city;

    /**
     * 区县
     */
    @TableField(value = "district")
    private String district;

    /**
     * 介绍
     */
    @TableField(value = "description")
    private String description;

    /**
     * 我参加工作的时间
     */
    @TableField(value = "start_work_date")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startWorkDate;

    /**
     * 我当前职位/职务
     */
    @TableField(value = "position")
    private String position;

    /**
     * 身份角色，1: 求职者，2: 求职者可以切换为HR进行招聘，同时拥有两个身份
     */
    @TableField(value = "role")
    private Integer role;

    /**
     * 成为HR后，认证的（绑定的）公司主键id
     */
    @TableField(value = "hr_in_which_company_id")
    private String hrInWhichCompanyId;

    /**
     * 我的一句话签名
     */
    @TableField(value = "hr_signature")
    private String hrSignature;

    /**
     * 我的个性化标签
     */
    @TableField(value = "hr_tags")
    private String hrTags;

}
